package com.zy.file;

import java.io.*;

public class Test {
    public static void main(String[] args) throws IOException {
        String str = "asadfsfsf中国fs人民fdsafsafa人民dfafsadf";
        String key="人民";
        System.out.println();
        int count=0;
        int index=-1;
        while((index = str.indexOf(key)) > -1){
           count ++;
            str = str.substring(index+key.length());
        }
        System.out.println(count);
    }

    public void copy() throws IOException {
        //复制文件原路径
        String source ="C:\\Users\\gongb\\Pictures\\java.png";
        //复制文件目标路径
        String target ="C:\\Users\\gongb\\Pictures\\java_2.png";
        FileInputStream fis = new FileInputStream(source);
        FileOutputStream des = new FileOutputStream(target);
        int len;
        byte[] buff=new byte[1024];
        while ((len = fis.read(buff)) > -1){
            des.write(buff,0,len);
        }
        //9行代码
    }
    public void test() throws IOException {
        //创建目录和文件
        File dir1 = new File("d:/temp/wq/aaa");
        if (!dir1.exists()) {     // 如果D:/IOTest/dir1不存在，就创建为目录
            dir1.mkdir();//dir不能创建多级
        }
// 创建以dir1为父目录,名为"dir2"的File对象
        File dir2 = new File(dir1, "dir2");
        if (!dir2.exists()) { // 如果还不存在，就创建为目录
            dir2.mkdirs();
        }
        File dir4 = new File(dir1, "dir3/dir4");
        if (!dir4.exists()) {
            dir4.mkdirs();
        }
// 创建以dir2为父目录,名为"test.txt"的File对象
        File file = new File(dir2, "test.txt");
        if (!file.exists()) { // 如果还不存在，就创建为文件
            file.createNewFile();
        }


    //读文件
        try {
            //使用文件对象创建文件输入流对象，相当于打开文件
            FileInputStream fis = new FileInputStream(file);
            for (int i = 0; i < file.length(); i++) {
                char ch = (char)(fis.read());  //循环读取字符
                System.out.print(ch);
            }
            System.out.println();
            fis.close();     //关闭流
        } catch (FileNotFoundException fnfe) {
            System.out.println("文件没找到，或路径不对，文件打开失败。");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }


        //字节数组的读
        try {
            FileInputStream fis = new FileInputStream(file);
            //根据文件的字节长度创建字节数组
            byte[] buf = new byte[(int)(file.length())];
            fis.read(buf);  //读取文件中的数据存放到字节数组中
            String str = new String(buf);  //利用字节数组创建字符串
            System.out.println(str);   //打印字符串
            fis.close();     //关闭流
        } catch (FileNotFoundException fnfe) {
            System.out.println("文件打开失败。");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }


    }
}
